package com.tjec.project.workflow.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tjec.framework.aspectj.lang.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.tjec.framework.web.domain.BaseEntity;
import java.util.Date;
import java.util.List;

/**
 * 项目流程对象 bms_workflow
 * 
 * @author pangyongfeng
 * @date 2020-05-18
 */
public class BmsWorkflow extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id 主键 */
    private Long id;
    
    //------------------------空格查询字段-开始----------------------------------
    private List<String> projectNames;
    
    private List<String> codes;
    
    private List<String> projectLeaders;
    
    private List<String> businessNames;
    
    private List<String> reportNos;
    
    private List<String> origins;
    
    private List<String> auditorPersons;
    
    //------------------------空格查询字段-开始----------------------------------

	/** 项目ID 项目ID */
    @Excel(name = "项目ID 项目ID")
    private String projectId;
    
    private String projectLeader;
    
    private String businessName;
    
    private String workflowName;
    
    @Excel(name = "项目代码")
    private String code;

	/** 业务ID 业务ID */
    @Excel(name = "业务ID 业务ID")
    private String businessId;

    /** 流程名称 校审流程名称 */
    @Excel(name = "流程名称 校审流程名称")
    private String name;

    /** 发起人 发起人 */
    @Excel(name = "发起人 发起人")
    private String origin;
    
    private String originNo;
    
    private String startPerson;
    
    private String approvePerson;
    
    /**参与者**/
    private String participant;
    
    private String auditorPerson;

    /** 发起时间 发起时间 */
    @Excel(name = "发起时间 发起时间", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date originTime;
    
    /* 发起时间起，查询用 */
	private String originTimeStart;
	/* 发起时间止，查询用 */
	private String originTimeEnd;

    /** 当前审批环节 审批环节 */
    @Excel(name = "当前审批环节 审批环节")
    private String node;

    /** 当前审批人 当前审批人 */
    @Excel(name = "当前审批人 当前审批人")
    private String auditor;
    
    private String auditorNo;

    /** 流程状态 流程状态（0进行中，1已完成，2已取消） */
    @Excel(name = "流程状态 流程状态", readConverterExp = "0=进行中，1已完成，2已取消")
    private String status;

    /** 完成时间 完成时间 */
    @Excel(name = "完成时间 完成时间")
    private String endTime;
    
    /* 完成时间起，查询用 */
	private String endTimeStart;
	/* 完成时间止，查询用 */
	private String endTimeEnd;

    /** 流程实例ID 流程实例ID */
    @Excel(name = "流程实例ID 流程实例ID")
    private String instanceId;

    /** 业务对象ID 业务对象ID */
    @Excel(name = "业务对象ID 业务对象ID")
    private String bizObjectId;

    /** 流程编码 流程编码 */
    @Excel(name = "流程编码 流程编码")
    private String workflowCode;

    /** 表单编码 表单编码 */
    @Excel(name = "表单编码 表单编码")
    private String sheetCode;

    /** 流程表单访问地址 流程表单访问地址 */
    @Excel(name = "流程表单访问地址 流程表单访问地址")
    private String url;

    /** guid */
    private String guid;
    private String type;
    
    /**咨询报告号**/
    private String reportNo;
    
    /**造价报告号**/
    private String costNo;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 业务类别名称 */
    @Excel(name = "业务类别名称")
    private String businessTypeName;

    /** 业务类别id */
    @Excel(name = "业务类别id")
    private String businessTypeId;
    
    /** 项目成员和项目负责人 */
    @Excel(name = "项目成员和项目负责人")
    private String members;
    
    private String deptName;
    
    private String deptId;
    
    private String instanceUrl;

    private String h5Url;
    
    private String instanceH5url;
    
    private String expert;
    
    private String expertName;
    
    private List<String> expertNames;
    
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("instanceUrl", getInstanceUrl())
            .append("instanceH5url", getInstanceH5url())
            .append("projectId", getProjectId())
            .append("businessId", getBusinessId())
            .append("name", getName())
            .append("origin", getOrigin())
            .append("originTime", getOriginTime())
            .append("node", getNode())
            .append("auditor", getAuditor())
            .append("status", getStatus())
            .append("originNo", getOriginNo())
            .append("endTime", getEndTime())
            .append("instanceId", getInstanceId())
            .append("bizObjectId", getBizObjectId())
            .append("workflowCode", getWorkflowCode())
            .append("sheetCode", getSheetCode())
            .append("url", getUrl())
            .append("guid", getGuid())
            .append("projectName", getProjectName())
            .append("businessTypeName", getBusinessTypeName())
            .append("businessTypeId", getBusinessTypeId())
            .append("sortBy", getSortBy())
            .append("order", getOrder())
            .append("deptName", getDeptName())
            .append("deptId", getDeptId())
            .append("type", getType())
            .append("startPerson", getStartPerson())
            .append("approvePerson", getApprovePerson())
            .append("members", getMembers())
            .append("reportNo",getReportNo())
            .append("participant",getParticipant())
            .append("auditorNo",getAuditorNo())
            .append("costNo",getCostNo())
            .append("auditorPerson",getAuditorPerson())
            .append("code",getCode())
            .append("projectLeader",getProjectLeader())
            .append("businessName",getBusinessName())
            .append("workflowName",getWorkflowName())
            
            .append("projectNames",getProjectNames())
            .append("codes",getCodes())
            .append("projectLeaders",getProjectLeaders())
            .append("businessNames",getBusinessNames())
            .append("reportNos",getReportNos())
            .append("origins",getOrigins())
            .append("auditorPersons",getAuditorPersons())
            
            .append("expert",getExpert())
            .append("expertName",getExpertName())
            .append("expertNames",getExpertNames())
            
            .toString();
    }
    
    public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

    public String getH5Url() {
        return h5Url;
    }

    public void setH5Url(String h5Url) {
        this.h5Url = h5Url;
    }

    public String getInstanceUrl() {
		return instanceUrl;
	}

	public void setInstanceUrl(String instanceUrl) {
		this.instanceUrl = instanceUrl;
	}

	public String getInstanceH5url() {
		return instanceH5url;
	}

	public void setInstanceH5url(String instanceH5url) {
		this.instanceH5url = instanceH5url;
	}

    public String getDeptName() {
		return deptName;
	}

	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}

	public String getDeptId() {
		return deptId;
	}

	public void setDeptId(String deptId) {
		this.deptId = deptId;
	}

	public void setId(Long id) 
    {
        this.id = id;
    }

    public String getOriginTimeStart() {
		return originTimeStart;
	}

	public void setOriginTimeStart(String originTimeStart) {
		this.originTimeStart = originTimeStart;
	}

	public String getOriginTimeEnd() {
		return originTimeEnd;
	}

	public void setOriginTimeEnd(String originTimeEnd) {
		this.originTimeEnd = originTimeEnd;
	}

	public String getEndTimeStart() {
		return endTimeStart;
	}

	public void setEndTimeStart(String endTimeStart) {
		this.endTimeStart = endTimeStart;
	}

	public String getEndTimeEnd() {
		return endTimeEnd;
	}

	public void setEndTimeEnd(String endTimeEnd) {
		this.endTimeEnd = endTimeEnd;
	}

	public Long getId() 
    {
        return id;
    }
    public void setProjectId(String projectId) 
    {
        this.projectId = projectId;
    }

    public String getProjectId() 
    {
        return projectId;
    }
    public void setBusinessId(String businessId) 
    {
        this.businessId = businessId;
    }

    public String getBusinessId() 
    {
        return businessId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setOrigin(String origin) 
    {
        this.origin = origin;
    }

    public String getOrigin() 
    {
        return origin;
    }
    public void setOriginTime(Date originTime) 
    {
        this.originTime = originTime;
    }

    public Date getOriginTime() 
    {
        return originTime;
    }
    public void setNode(String node) 
    {
        this.node = node;
    }

    public String getNode() 
    {
        return node;
    }
    public void setAuditor(String auditor) 
    {
        this.auditor = auditor;
    }

    public String getAuditor() 
    {
        return auditor;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setEndTime(String endTime) 
    {
        this.endTime = endTime;
    }

    public String getEndTime() 
    {
        return endTime;
    }
    public void setInstanceId(String instanceId) 
    {
        this.instanceId = instanceId;
    }

    public String getInstanceId() 
    {
        return instanceId;
    }
    public void setBizObjectId(String bizObjectId) 
    {
        this.bizObjectId = bizObjectId;
    }

    public String getBizObjectId() 
    {
        return bizObjectId;
    }
    public void setWorkflowCode(String workflowCode) 
    {
        this.workflowCode = workflowCode;
    }

    public String getWorkflowCode() 
    {
        return workflowCode;
    }
    public void setSheetCode(String sheetCode) 
    {
        this.sheetCode = sheetCode;
    }

    public String getSheetCode() 
    {
        return sheetCode;
    }
    public void setUrl(String url) 
    {
        this.url = url;
    }

    public String getUrl() 
    {
        return url;
    }
    public void setGuid(String guid) 
    {
        this.guid = guid;
    }

    public String getGuid() 
    {
        return guid;
    }
    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }
    public void setBusinessTypeName(String businessTypeName) 
    {
        this.businessTypeName = businessTypeName;
    }

    public String getBusinessTypeName() 
    {
        return businessTypeName;
    }
    public void setBusinessTypeId(String businessTypeId) 
    {
        this.businessTypeId = businessTypeId;
    }

    public String getBusinessTypeId() 
    {
        return businessTypeId;
    }

    public String getMembers() {
		return members;
	}

	public void setMembers(String members) {
		this.members = members;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getStartPerson() {
		return startPerson;
	}

	public void setStartPerson(String startPerson) {
		this.startPerson = startPerson;
	}

	public String getApprovePerson() {
		return approvePerson;
	}

	public void setApprovePerson(String approvePerson) {
		this.approvePerson = approvePerson;
	}

	public String getReportNo() {
		return reportNo;
	}

	public void setReportNo(String reportNo) {
		this.reportNo = reportNo;
	}

	public String getParticipant() {
		return participant;
	}

	public void setParticipant(String participant) {
		this.participant = participant;
	}

	public String getAuditorNo() {
		return auditorNo;
	}

	public void setAuditorNo(String auditorNo) {
		this.auditorNo = auditorNo;
	}

	public String getOriginNo() {
		return originNo;
	}

	public void setOriginNo(String originNo) {
		this.originNo = originNo;
	}

	public String getCostNo() {
		return costNo;
	}

	public void setCostNo(String costNo) {
		this.costNo = costNo;
	}

	public String getAuditorPerson() {
		return auditorPerson;
	}

	public void setAuditorPerson(String auditorPerson) {
		this.auditorPerson = auditorPerson;
	}

	public String getProjectLeader() {
		return projectLeader;
	}

	public void setProjectLeader(String projectLeader) {
		this.projectLeader = projectLeader;
	}

	public String getBusinessName() {
		return businessName;
	}

	public void setBusinessName(String businessName) {
		this.businessName = businessName;
	}

	public String getWorkflowName() {
		return workflowName;
	}

	public void setWorkflowName(String workflowName) {
		this.workflowName = workflowName;
	}
	
	 public List<String> getProjectNames() {
			return projectNames;
		}

		public void setProjectNames(List<String> projectNames) {
			this.projectNames = projectNames;
		}

		public List<String> getCodes() {
			return codes;
		}

		public void setCodes(List<String> codes) {
			this.codes = codes;
		}

		public List<String> getProjectLeaders() {
			return projectLeaders;
		}

		public void setProjectLeaders(List<String> projectLeaders) {
			this.projectLeaders = projectLeaders;
		}

		public List<String> getBusinessNames() {
			return businessNames;
		}

		public void setBusinessNames(List<String> businessNames) {
			this.businessNames = businessNames;
		}

		public List<String> getReportNos() {
			return reportNos;
		}

		public void setReportNos(List<String> reportNos) {
			this.reportNos = reportNos;
		}

		public List<String> getOrigins() {
			return origins;
		}

		public void setOrigins(List<String> origins) {
			this.origins = origins;
		}

		public List<String> getAuditorPersons() {
			return auditorPersons;
		}

		public void setAuditorPersons(List<String> auditorPersons) {
			this.auditorPersons = auditorPersons;
		}

		public String getExpert() {
			return expert;
		}

		public void setExpert(String expert) {
			this.expert = expert;
		}

		public String getExpertName() {
			return expertName;
		}

		public void setExpertName(String expertName) {
			this.expertName = expertName;
		}

		public List<String> getExpertNames() {
			return expertNames;
		}

		public void setExpertNames(List<String> expertNames) {
			this.expertNames = expertNames;
		}
}
